//variables globales
var detalle = new Array();
var suma =0;
// fin variables globales

$(document).ready(function() {

	$("#distribucionVoucherForm").validate();
	// tooltips
	// fin tooltips

	// botones
	Utiles_Botones.creaBotonGuardar("btn_buscar",buscaDepositosCuenta);
	// fin botones

	// eventos change
	$("#cmb_bancos").change(llenarComboCuenta);
	// fin eventos change

	// creacion de la tabla
	jQuery("#tabla_distribucion").jqGrid({ 
		//url:'',// url para obtener data
		mtype: 'GET',// metodo de solicitud
		datatype: "json",// formato de datos que representa la data
		colNames:['id_caja_operacion_bancaria','Banco','Cuenta','Nro Operacion','Fecha','Importe'],
		colModel:[ 
		          {name:'id_caja_operacion_bancaria',index:'id_caja_operacion_bancaria',hidden : true},  		         		          
		           {name:'nom_banco',index:'nom_banco',width:150},
		           {name:'cuenta_bancaria',index:'cuenta_bancaria',width:100},
		           {name:'num_operacion',index:'num_operacion',width:50},
		           {name:'fecha',index:'cuenta_bancaria',width:40, align:"center"},
		           {name:'importe',index:'importe', width:90,sorttype:'number',formatter:'number', formatoptions: { decimalSeparator: ".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00' }, align:"right",summaryType:'sum'}		           
		          ], 
		rowNum:20,
		loadComplete: function () {
			data= $('#tabla_distribucion').jqGrid('getGridParam','data');
			suma =0;
			$.each(data, function(i) {				
				suma+=parseFloat(this.importe);
				if(this._id_ == undefined)
					 this._id_=(i+1);
				jQuery("#tabla_distribucion").jqGrid('setRowData',this._id_,{correlativo:(i+1)});
			});
			suma = redondear(suma,2);
			jQuery("#tabla_distribucion").jqGrid('setGridParam',{data:data}).trigger("reloadGrid");
			$(this).jqGrid('footerData','set', {nom_localidad:"TOTAL ====>",importe:suma});
		},
		rowList:[20,40],
		pager: '#pager_distribucion',
		viewrecords: true,
		// autowidth: true,
		width:700,
		height:220,
		rownumbers: true,
		scrollOffset: 0,
		// sortname: 'monto_total',sort fijo
		// sortorder: "desc",sort fijo
		jsonReader: { 
			repeatitems : false
			  },
		emptyrecords: "No hay registros",
		loadonce:true,
		footerrow : true, userDataOnFooter : true// altRows:true,
		}); 
	// fin de la tabla

	// addons de la tabla
	jQuery("#tabla_distribucion").jqGrid('navGrid', '#pager_distribucion', {
		edit : false,
		add : false,
		del : false
	});
	jQuery("#tabla_distribucion").navButtonAdd('#pager_distribucion', {
		caption : "Actualizar",
		buttonicon : "ui-icon-pencil",
		onClickButton : showDetalleLiquidacion,
		position : "last",
		title : "",
		cursor : "pointer"
	});
	jQuery("#tabla_distribucion").navButtonAdd('#pager_distribucion', {
		caption : "Ver Distribucion",
		buttonicon : "ui-icon-document",
		onClickButton : verDetalle,
		position : "last",
		title : "",
		cursor : "pointer"
	});
	
});


/*----------funciones------------*/
function buscaDepositosCuenta(){
	jQuery("#tabla_distribucion").jqGrid('setGridParam',{url:"get_depositos_cuenta?id_cuenta="+$("#cmb_cuentas").val(),page:1,loadonce:true,datatype: 'json'}).trigger("reloadGrid");
}

function verDetalle(){
	var id = jQuery("#tabla_distribucion").jqGrid('getGridParam','selrow');
	var data = jQuery("#tabla_distribucion").jqGrid('getRowData',id);
	Utiles_MensajesDialogo.showRequestDialog3('Distribucion de Deposito ', "jdDetalleDistribucionDeposito",650,{id_caja_operacion:data.id_caja_operacion_bancaria});
}

function redondear(cantidad, decimales) {
	 var cantidad = parseFloat(cantidad);
	 var decimales = parseFloat(decimales);
	 decimales = (!decimales ? 2 : decimales);
	 return Math.round(cantidad * Math.pow(10, decimales)) / Math.pow(10, decimales);
} 

function showDetalleLiquidacion() {
	//Utiles_MensajesDialogo.showRequestDialog2('Detalle de Distribucion', "jdDetalleDistribucion",agregaDetalleDistribucion,600);
	Utiles_MensajesDialogo.showRequestDialog('Detalle de Distribucion', "jdDetalleDistribucion", agregaDetalleDistribucion,400,150);
}

function eliminaItem(){
	var id = jQuery("#tabla_distribucion").jqGrid('getGridParam','selrow'); 
	if(id!=null){
		Utiles_MensajesDialogo.mensajeConfirmacion("Eliminar", "Desea realmente eliminar el item?", function(){
			jQuery("#tabla_distribucion").jqGrid('delRowData', id);
			jQuery("#tabla_distribucion").trigger("reloadGrid")	;
			$(this).dialog("close");
		});
	}
	else{
		alert("Seleccione un item!");
	}
}

function agregaDetalleDistribucion(){
 	if($("#frmDistribucion").valid()){
 			var asiento = $("#frmDistribucion").serializeObject();
 			var n = (jQuery('#tabla_detalle_distribucion').jqGrid('getGridParam', 'records'));
 			asiento._id_=n+1;
 			asiento.correlativo=n+1;
 			asiento.nom_zona=$.trim($("#zona_distribucion option:selected").html());
 			asiento.nom_localidad=$.trim($("#localidad_distribucion option:selected").html());
 			
 			//comprobar si existe ya la localidad.
 			jQuery("#tabla_detalle_distribucion").jqGrid('addRowData', 0, asiento);
 			jQuery("#tabla_detalle_distribucion").trigger("reloadGrid");
 	}
}

function llenarComboLocalidad() {
	var zona = $("#cmb_zona").val();
	$("#cmb_localidad").bindCombo("localidad_en_zona_comercial",{zona : zona},{id : "id_localidad",desc:"nom_localidad"});
}

function llenarComboCuenta() {
	var id_banco = $("#cmb_bancos").val();
	$("#cmb_cuentas").bindCombo("cuenta_en_banco",{id_banco : id_banco},{id : "id_cuenta_empresa",desc:"cuenta_bancaria"});
}

function enviaDistribucion() {	
	if ($("#distribucionVoucherForm").valid()) {
		
			Utiles_MensajesDialogo.mensajeConfirmacion("Agregar", "Esta seguro de realizar la operacion?", function(){
				var data = $("#tabla_detalle_distribucion").jqGrid('getGridParam','data');
				
				/*var distribucion = new Object();
				distribucion.fecha=$("#fec_emision").val();
				distribucion.id_zona= $("#cmb_zona").val();
				distribucion.id_localidad =$("#cmb_localidad").val();
				distribucion.num_operacion = $("#num_operacion").val();
				distribucion.importe = $("#importe_total").val();
				distribucion.id_cuenta_empresa = $("#cmb_cuentas").val();*/
				
				var distribucion = $("#distribucionVoucherForm").serializeObject();
				
				var obj = new Object();
				obj.detalle=data;
				distribucion.detalle =obj;
				Utiles_MensajesDialogo.showMensajeModal("Espere un momento!!");
				$.postJSON("guardar_distribucion_deposito",distribucion, function(rpta) {
					Utiles_MensajesDialogo.closeMensajeModal();
					if(rpta.operacion==true){
						//cargar("frmAdministra_cajachica");
						Utiles_MensajesDialogo.showMensajeExito();
						limpiaFormulario();
					}
					else
						Utiles_MensajesDialogo.showMensajeError("error");
				});
	 			$(this).dialog("close");
	 		});	
	}
}

function limpiaFormulario(){
		$("#liquidacionForm").reset();
		var rowIds = $('#tabla_liquidacion').jqGrid('getDataIDs');
		// iterate through the rows and delete each of them
		/*for(var i=0,len=rowIds.length;i<len;i++){
		    var currRow = rowIds[i];
		    $('#tabla_liquidacion').jqGrid('delRowData', currRow);
		} */
		$.each(rowIds, function(i,item) {
			$('#tabla_liquidacion').jqGrid('delRowData', item);
		});	
		jQuery("#tabla_liquidacion").trigger("reloadGrid");
}

/*----------fin funciones------------*/
